Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.plugins
Class Javac

    java.lang.Object
      rdlc.plugins.Javac

All Implemented Interfaces:
  Plugin

    public class Javac

extends java.lang.Object
implements Plugin

This plugin invokes javac to compile all relevant java output file. Notice that it will compile everything twice to enusre all class references are resolved. It will also not use the manifest.

Version:
  $Revision: 1.8 $
Author:
  Greg Gibeling

Constructor Summary
`Javac()` Empty constructor.

Method Summary
`void` | `finish(Command command)` Finish all of the tasks this plugin wishes to perform.
`void` | `invokeBackEnd(Instance instance, java.lang.String argument, Log errorLog, java.lang.String language)` Invoke this plugin for the specific instance given.
`void` | `invokeFrontEnd(Instance instance, java.lang.String _argument, Log errorLog)` Invoke this plugin for the specific instance given.
`void` | `load(java.lang.String config)` Load this plugin and start it working.
`protected static void` | `runJavac(java.lang.ProcessBuilder procBuild, java.util.List<java.lang.String> command, Log errorLog, java.io.File folder, int invocation)` Run javac with the given arguments.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Javac

    public Javac()

  Empty constructor.

Method Detail

### load

    public void load(java.lang.String config)

  Description copied from interface: `Plugin`
  Load this plugin and start it working. This method is mostly responsible for givng the plugin access to the command which will be invoking it, and an error list for reporting later problems.

  Specified by:
    `load` in interface `Plugin`
  Parameters:
    `config` - A string copied from the RDLC XML config file.
  See Also:
    `Plugin.load(String)`

### invokeFrontEnd

    public void invokeFrontEnd(Instance instance,
                               java.lang.String _argument,
                               Log errorLog)

  Description copied from interface: `Plugin`
  Invoke this plugin for the specific instance given. This may perform some generic operation, or it may perform an instance specific task such as assembling unit instances. This method should not attempt to create output files. This method may add instances, assemble them, change attributes etc.

  Specified by:
    `invokeFrontEnd` in interface `Plugin`
  Parameters:
    `instance` - The RDL instance in which a plugin invocation was specified.
    `_argument` - The argument given for this invocation in the source RDL.
    `errorLog` - Log of errors to be reported to the user.
  See Also:
    `Plugin.invokeFrontEnd(Instance, String, Log)`

### invokeBackEnd

    public void invokeBackEnd(Instance instance,
                              java.lang.String argument,
                              Log errorLog,
                              java.lang.String language)

  Description copied from interface: `Plugin`
  Invoke this plugin for the specific instance given. This may perform some generic operation, or it may perform an instance specific task such as assembling unit instances. This method should not attempt to create output files. However it may schedule the creation of a unit implementation for execution during `finish()`.

  Specified by:
    `invokeBackEnd` in interface `Plugin`
  Parameters:
    `instance` - The RDL instance in which a plugin invocation was specified.
    `argument` - The argument given for this invocation in the source RDL.
    `errorLog` - Log of errors to be reported to the user.
    `language` - The name of the output language being generated.
  See Also:
    `Plugin.invokeBackEnd(Instance, String, Log, String)`

### finish

    public void finish(Command command)

  Description copied from interface: `Plugin`
  Finish all of the tasks this plugin wishes to perform. The plugin should close all open files and shut down any spawned processes in preparation for finishing the RDLC compile task. This is also where compilers, synthesis, PAR and other back end tools will be invoked.

  Specified by:
    `finish` in interface `Plugin`
  Parameters:
    `command` - The command which will be invoking this plugin.
  See Also:
    `Plugin.finish(Command)`

### runJavac

    protected static void runJavac(java.lang.ProcessBuilder procBuild,
                                   java.util.List<java.lang.String> command,
                                   Log errorLog,
                                   java.io.File folder,
                                   int invocation)

  Run javac with the given arguments. This method is separate for the simple reason that this plugin must invoke javac twice to ensure that all classes are properly compiled and linked.

  Parameters:
    `procBuild` - Process builder.
    `command` - Command line command.
    `errorLog` - A list of errors to be reported to the user.
    `folder` - The folder in which javac is to be invoked.
    `invocation` - An invocation index to create separate log files.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD